package com.quanyue.haircut.order.service;

import com.quanyue.haircut.domain.constant.PayResult;
import com.quanyue.haircut.domain.entity.ReserveOrder;
import com.quanyue.haircut.domain.entity.User;
import com.quanyue.haircut.order.dto.ReserveOrderCreate;
import com.quanyue.haircut.order.dto.ReserveOrderDetail;
import com.quanyue.haircut.order.dto.UserByConsume;
import com.quanyue.haircut.order.dto.UserByConsumeReq;
import com.vhuomai.mybatis.mapper.page.Page;

import java.math.BigDecimal;
import java.util.List;

public interface ReserveOrderService {
    ReserveOrder create(Integer merchantNo, User user, ReserveOrderCreate orderCreate);

    ReserveOrder findOrderByNo(String orderNo);

    List <ReserveOrderDetail> findOrderDetailList(Integer userId, Integer shopId);

    void afterPayComplete(String orderNo, String transactionId, PayResult result);

    BigDecimal discount(Integer couponId, BigDecimal originalPrice);

    Page <UserByConsume> findVipByConsume(UserByConsumeReq req);
}
